Miniaturization of portable devices requires highly integrated logic chips. Many of these applications use non-volatile memory for storing very few bytes of information. The information may comprise configuration parameters, for example for an adjustment of an analog circuitry or an adaptation to a specific application or external conditions. Alternatively, the information may comprise individual information like a serial device number or an identification number, which are so-called personalization parameters. Typical applications may require a few bytes, e.g., 10 Bytes to about 1 Kilobyte, for storing the personalization parameters and/or configuration parameters.
An example for using such non-volatile memory in a miniaturized application is the adaptation of the filter parameters of a hearing aid by the acoustician to the individual wearing it as well as saving the volume parameters in a hearing aid before turning it off.
Personalization parameters and especially the configuration parameters may be alterable. Configuration parameters are normally not changed during normal operation mode, just before switching off or changing from a normal operation mode to a sleep mode. In particular, battery-powered portable applications may require the personalization parameters and, especially the configuration parameters, to survive the sleep mode or partial power-off without data loss to avoid adapting and configuring the application again.
Conventional applications comprise non-volatile memory-on-board, which is read and programmed by a microcontroller, to store the personalization and configuration parameters.
Alternatively, the application may comprise a non-volatile memory module that is read out at circuit start-up into a volatile memory via an internal controller or a state machine. Adding a non-volatile memory module to a chip, which uses only a few bytes of storage, is very inefficient. Conventional memory modules, which enable the storage of much more data, are oversized.
The time delay incurred by reading out such non-volatile memory to the volatile memory at startup results in inconvenient usage.
Further disadvantages of the non-volatile memory module or the memory-on-board are their power supply requirement and their size.
Conventional programmable elements for logic technologies are not optimized for good retention behavior and they are also difficult to scale. The method to program or erase such elements is very complicated.
Programmable interconnects, for example as used in field programmable gate arrays, so called FPGAs, are not meant for very small memories. They are not optimized for low voltage and low power operation.